iT邦幫忙

0

【C++】String and Number Reverse

c++
  • 分享至 

  • xImage
  •  

Reverse ,看似一個簡單的功能,但它卻出現在許多公司的面試題庫。

那我們直接來看它是如何實現的吧!


學習目標: C++ String and Number Reverse 實務

學習難度: ☆☆☆


首先是String Reverse

#include <iostream>

using namespace std;

string reverse(string input)
{
	string output="";

    for(int i=input.length()-1;i>=0;i--)
    {
        output=output+input[i];
    }
    
	return output;
    
}

int main()
{
	string input="Wilson";

	cout<<reverse(input)<<endl;

	return 0;
}

這樣就能將input的string給反轉呢!


再來是Integer Reverse

#include <iostream>

using namespace std;

int reverse(int input) 
{     
    if(input==0) return 0; 
        
    int n = (input<0)?1:0; //判斷input正負數
        
    input = abs(input); 
        
    long int output = input%10;
        
    input /= 10;
        
    while(input>0)
    {
        output *= 10;
            
        output += (input%10);
            
        input /= 10;
    }
        
    if(n == 1) output = output - 2*output;
        
    if(output < -2147483648 || output > 2147483647) output = 0;
        
    return output;
}

int main()
{
	
	int input;
	
	cin>>input;
	
	if(cin.fail())
	{
		cin.clear(); //錯誤flag改回0,用意是讓我們能繼續輸入
		
		cin.sync(); //清空輸入暫存 
				
		main();	
	}
    
	else
	{
		cout<<reverse(input)<<endl;
	}
	
	return 0;
}

參考資料:

https://www.twblogs.net/a/5bb048912b7177781a0febe9

https://leetcode.com/problems/reverse-integer/


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言